import { IPSAppDELogic } from '../app/dataentity/ipsapp-delogic';
import { IPSAppDEMethod } from '../app/dataentity/ipsapp-demethod';
import { IPSAppDataEntity } from '../app/dataentity/ipsapp-data-entity';
import { IPSModelObject } from '../ipsmodel-object';

/**
 *
 * @export
 * @interface IPSControlAction
 */
export interface IPSControlAction extends IPSModelObject {
  /**
   * 上下文转换逻辑
   *
   * @type {IPSAppDELogic}
   */
  getADPSAppDELogic(): IPSAppDELogic | null;

  /**
   * 行为描述
   * @type {string}
   */
  actionDesc: string;

  /**
   * 目标行为名称
   * @type {string}
   */
  actionName: string;

  /**
   * 应用实体方法
   *
   * @type {IPSAppDEMethod}
   */
  getPSAppDEMethod(): IPSAppDEMethod | null;

  /**
   * 应用实体对象
   *
   * @type {IPSAppDataEntity}
   */
  getPSAppDataEntity(): IPSAppDataEntity | null;

  /**
   * 处理超时时长（毫秒）
   * @type {number}
   * @default -1
   */
  timeout: number;
}
